import request from '@/utils/request'

/**
 * 获取活动列表
 * @param {Object} params - 查询参数 {pageNum, pageSize, keyword, category, tag, sortType}
 * @returns {Promise}
 */
export function getFrontEventList(params) {
  return request({
    url: '/api/front/events/list',
    method: 'get',
    params
  })
}

/**
 * 获取活动详情
 * @param {Number} id - 活动ID
 * @returns {Promise}
 */
export function getFrontEventDetail(id) {
  return request({
    url: `/api/front/events/detail/${id}`,
    method: 'get'
  })
}

/**
 * 获取活动票种列表
 * @param {Number} id - 活动ID
 * @returns {Promise}
 */
export function getFrontEventTickets(id) {
  return request({
    url: `/api/front/events/${id}/tickets`,
    method: 'get'
  })
}

/**
 * 获取热门推荐活动
 * @param {Number} limit - 查询数量
 * @returns {Promise}
 */
export function getRecommendEvents(limit) {
  return request({
    url: '/api/front/events/recommend',
    method: 'get',
    params: { limit }
  })
}

/**
 * 获取活动分类标签
 * @returns {Promise}
 */
export function getEventCategories() {
  return request({
    url: '/api/front/events/categories',
    method: 'get'
  })
}

/**
 * 参与前台活动
 * @param {Number} id - 活动ID
 * @returns {Promise}
 */
export function joinFrontEvent(id) {
  return request({
    url: `/api/front/events/${id}/join`,
    method: 'post'
  })
}

/**
 * 取消参与前台活动
 * @param {Number} id - 活动ID
 * @returns {Promise}
 */
export function cancelJoinFrontEvent(id) {
  return request({
    url: `/api/front/events/${id}/cancel`,
    method: 'post'
  })
} 